package com.example.demo.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import lombok.Data;



import java.util.List;

@Data
@ContentRowHeight(100)
@HeadStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER) // 表头居中
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER) // 内容居中
public class CensusDataVo {

    @ExcelProperty("地市单位")
    private String city;

    @ExcelProperty("区县单位")
    private String county;

    @ExcelProperty("供电单位")
    private String org;

    @ExcelProperty("用户编号")
    private String custNo;

    @ExcelProperty("用户名称")
    private String custName;

    @ExcelProperty("电表资产编号")
    private String meterCode;

    @ExcelProperty("用户用电地址")
    private String ecAddr;

    @ExcelProperty("电压等级")
    private String voltageName;

    @ExcelProperty("用电类别")
    private String ecCateg;

    @ExcelProperty("行业分类")
    private String indCls;

    @ExcelProperty("合同容量")
    private String ctrtCap;

    @ExcelProperty("用户状态")
    private String consStat;

    @ExcelProperty("电源数目")
    private String psMode;

    @ExcelProperty("运行容量")
    private String runCap;

    @ExcelProperty("联系人类型1")
    private String contactTypeElectric;

    @ExcelProperty("联系人姓名1")
    private String contactNameElectric;

    @ExcelProperty("联系人电话1")
    private String contactPhoneElectric;

    @ExcelProperty("联系人类型2")
    private String contactTypeFinance;

    @ExcelProperty("联系人姓名2")
    private String contactNameFinance;

    @ExcelProperty("联系人电话2")
    private String contactPhoneFinance;

    @ExcelProperty("线路名称")
    private String lineName;

    @ExcelProperty("位置")
    private String location;

    //  ap表中的图片id
    @ExcelIgnore
    private String locationImg;
    @ExcelIgnore
    private List<String> locationImageList; // 存储所有关联图片的Base64字符串列表

//    @ExcelIgnore
//    private String image; // Base64 字符串 // 存储所有关联图片的Base64字符串

    @ExcelProperty(value = "位置图片")
    @ColumnWidth(50) // 设置图片列宽度
    private byte[] locationImageData; // 图片字节数据

    @ExcelProperty("分界点资产属性")
    private String assetType;

    @ExcelIgnore
    private String deviceTypeImg;

    @ExcelProperty("分界点设备类型 ")
    private String deviceType;
    @ExcelIgnore
    private List<String> deviceTypeImageList; // 存储所有关联图片的Base64字符串列表

//    @ExcelIgnore
//    private String image; // Base64 字符串 // 存储所有关联图片的Base64字符串

    @ExcelProperty(value = "分界点图片")
    @ColumnWidth(50) // 设置图片列宽度
    private byte[] deviceTypeImageData; // 图片字节数据

    @ExcelProperty("保护CT变比")
    private String ctRatio;

    @ExcelProperty("分界点设备保护功能")
    private String isProtection;

    @ExcelProperty("分界点设备双重名称")
    private String dualName;

    @ExcelProperty("厂家")
    private String manufacturer;

    @ExcelIgnore
    private String manuImg;
    @ExcelIgnore
    private List<String> manuImageList; // 存储所有关联图片的Base64字符串列表

//    @ExcelIgnore
//    private String image; // Base64 字符串 // 存储所有关联图片的Base64字符串

    @ExcelProperty(value = "装置图片")
    @ColumnWidth(50) // 设置图片列宽度
    private byte[] manuImageData; // 图片字节数据


    @ExcelIgnore
    private List<String> instantaneousImageList; // 存储所有关联图片的Base64字符串列表

//    @ExcelIgnore
//    private String image; // Base64 字符串 // 存储所有关联图片的Base64字符串

    @ExcelProperty(value = "速断图片")
    @ColumnWidth(50) // 设置图片列宽度
    private byte[] instantaneousImageData; // 图片字节数据


    @ExcelIgnore
    private List<String> overcurrentImageList; // 存储所有关联图片的Base64字符串列表

//    @ExcelIgnore
//    private String image; // Base64 字符串 // 存储所有关联图片的Base64字符串

    @ExcelProperty(value = "过流图片")
    @ColumnWidth(50) // 设置图片列宽度
    private byte[] overcurrentImageData; // 图片字节数据


    @ExcelIgnore
    private List<String> limitedImageList; // 存储所有关联图片的Base64字符串列表

//    @ExcelIgnore
//    private String image; // Base64 字符串 // 存储所有关联图片的Base64字符串

    @ExcelProperty(value = "限时时段图片")
    @ColumnWidth(50) // 设置图片列宽度
    private byte[] limitedImageData; // 图片字节数据

    @ExcelIgnore
    private String instantaneousImg;

    @ExcelIgnore
    private String overcurrentImg;

    @ExcelIgnore
    private String limitedImg;

    @ExcelIgnore
    private String zeroSeqImg;

    @ExcelIgnore
    private String postAccFixedCurImg;

    @ExcelIgnore
    private String postAccFixedTimeImg;


    @ExcelIgnore
    private List<String> zeroSeqImageList; // 存储所有关联图片的Base64字符串列表

//    @ExcelIgnore
//    private String image; // Base64 字符串 // 存储所有关联图片的Base64字符串

    @ExcelProperty(value = "零序图片")
    @ColumnWidth(50) // 设置图片列宽度
    private byte[] zeroSeqImageData; // 图片字节数据


    @ExcelIgnore
    private List<String> postAccFixedCurImageList; // 存储所有关联图片的Base64字符串列表

//    @ExcelIgnore
//    private String image; // Base64 字符串 // 存储所有关联图片的Base64字符串

    @ExcelProperty(value = "后加速电流图片")
    @ColumnWidth(50) // 设置图片列宽度
    private byte[] postAccFixedCurImageData; // 图片字节数据


    @ExcelIgnore
    private List<String> postAccFixedTimeImageList; // 存储所有关联图片的Base64字符串列表


    @ExcelProperty(value = "后加速时间图片")
    @ColumnWidth(50) // 设置图片列宽度
    private byte[] postAccFixedTimeImageData; // 图片字节数据

    @ExcelProperty("型号")
    private String protectionModel;

    @ExcelProperty("速断设定")
    private String instantaneousStatus;


    @ExcelProperty("限时设定")
    private String limitedStatus;

    @ExcelProperty("速断电流")
    private String instantaneousCurrent;

    @ExcelProperty("速断时间")
    private String instantaneousTime;

    @ExcelProperty("限时速断电流")
    private String limitedCurrent;

    @ExcelProperty("限时速断时间")
    private String limitedTime;

    @ExcelProperty("过流设定")
    private String overcurrentStatus;

    @ExcelProperty("零序设定")
    private String zeroSeqStatus;

    @ExcelProperty("过流电流")
    private String overcurrentCurrent;

    @ExcelProperty("过流时间")
    private String overcurrentTime;

    @ExcelProperty("零序电流")
    private String zeroSeqCurrent;

    @ExcelProperty("零序时间")
    private String zeroSeqTime;

    @ExcelProperty("重合闸退")
    private String recloseStatus;

    @ExcelProperty("现场变压容量")
    private String tranCapacity;

    @ExcelProperty("变压器数量")
    private String transformerNumber;

    @ExcelProperty("变压器信号")
    private String transformerModel;

    @ExcelProperty("是否进线柜")
    private String inCabinet;

    @ExcelProperty("是否进线柜保护")
    private String inCabinetPro;

    @ExcelIgnore
    private String cabinetProImg;

    @ExcelIgnore
    private String protectionImg;

    @ExcelIgnore
    private List<String> cabinetProImageList; // 存储所有关联图片的Base64字符串列表


    @ExcelProperty(value = "进线柜图片")
    @ColumnWidth(50) // 设置图片列宽度
    private byte[] cabinetProImageData; // 图片字节数据


    @ExcelIgnore
    private List<String> protectionImageList; // 存储所有关联图片的Base64字符串列表


    @ExcelProperty(value = "压板投退图片")
    @ColumnWidth(50) // 设置图片列宽度
    private byte[] protectionImageData; // 图片字节数据


    @ExcelProperty("是否有高压电机")
    private String isHighVoltageMotor;

    @ExcelProperty("高压电机容量")
    private String motorCapacity;

    @ExcelProperty("保护CT变比")
    private String ctRatioTransformer;

    @ExcelProperty("保护装置厂家")
    private String manufacturerTransformer;

    @ExcelProperty("保护装置型号")
    private String protectionModelTransformer;

    @ExcelProperty("速断是否设定")
    private String instantaneousStatusTransformer;

    @ExcelProperty("限速断是否设定")
    private String limitedStatusTransformer;

    @ExcelProperty("速断电流")
    private String instantaneousCurrentUnit;

    @ExcelProperty("速断时间")
    private String instantaneousTimeUnit;

    @ExcelProperty("限时速断电流值")
    private String limitedCurrentUnit;

    @ExcelProperty("限时速断时间设定")
    private String limitedTimeUnit;

    @ExcelProperty("过流设定")
    private String overcurrentStatusTransformer;

    @ExcelProperty("零序设定")
    private String zeroSeqStatusTransformer;

    @ExcelProperty("过流电流值")
    private String overcurrentCurrentUnit;

    @ExcelProperty("过流时间设定")
    private String overcurrentTimeUnit;

    @ExcelProperty("零序电流值")
    private String zeroSeqCurrentUnit;

    @ExcelProperty("零序时间设定")
    private String zeroSeqTimeUnit;

    @ExcelProperty("后加速设定")
    private String rearAccelerationStatus;

    @ExcelProperty("后加速定值")
    private String rearAccelerationValueUnit;

    @ExcelProperty("后加速时间")
    private String rearAccelerationTimeUnit;


    @ExcelIgnore
    private String voManuImage;

    @ExcelIgnore
    private String voInstantaneousImage;

    @ExcelIgnore
    private String voOvercurrentImage;

    @ExcelProperty("限速断是否设定")
    private String voLimited;

    @ExcelIgnore
    private String voZeroSeqImage;

    @ExcelIgnore
    private String voRearAccelerationImage;

    @ExcelIgnore
    private String voRearAccelerationTimeImage;

    @ExcelIgnore
    private List<String> voManuImageList; // 存储所有关联图片的Base64字符串列表


    @ExcelProperty(value = "装置图片")
    @ColumnWidth(50) // 设置图片列宽度
    private byte[] voManuImageData; // 图片字节数据


    @ExcelIgnore
    private List<String> voInstantaneousImageList; // 存储所有关联图片的Base64字符串列表


    @ExcelProperty(value = "速断图片")
    @ColumnWidth(50) // 设置图片列宽度
    private byte[] voInstantaneousImageData; // 图片字节数据


    @ExcelIgnore
    private List<String> voOvercurrentImageList; // 存储所有关联图片的Base64字符串列表


    @ExcelProperty(value = "过流图片")
    @ColumnWidth(50) // 设置图片列宽度
    private byte[] voOvercurrentImageData; // 图片字节数据


    @ExcelIgnore
    private List<String> voLimitedImageList; // 存储所有关联图片的Base64字符串列表


    @ExcelProperty(value = "限时速断图片")
    @ColumnWidth(50) // 设置图片列宽度
    private byte[] voLimitedImageData; // 图片字节数据


    @ExcelIgnore
    private List<String> voZeroSeqImageList; // 存储所有关联图片的Base64字符串列表


    @ExcelProperty(value = "零序图片")
    @ColumnWidth(50) // 设置图片列宽度
    private byte[] voZeroSeqImageData; // 图片字节数据


    @ExcelIgnore
    private List<String> voRearAccelerationImageList; // 存储所有关联图片的Base64字符串列表


    @ExcelProperty(value = "后加速图片")
    @ColumnWidth(50) // 设置图片列宽度
    private byte[] voRearAccelerationImageData; // 图片字节数据


    @ExcelIgnore
    private List<String> voRearAccelerationTimeImageList; // 存储所有关联图片的Base64字符串列表


    @ExcelProperty(value = "后加速时间图片")
    @ColumnWidth(50) // 设置图片列宽度
    private byte[] voRearAccelerationTimeImageData; // 图片字节数据


    @ExcelProperty("重合闸投退")
    private String recloseStatusTransformer;

    @ExcelProperty("是否配置备自投装置")
    private String isBasConfig;

    @ExcelProperty("备自投装置厂家")
    private String basManufacturer;

    @ExcelProperty("备自投装置型号")
    private String basModel;

    @ExcelProperty("是否投入")
    private String isBas;

    @ExcelProperty("备自投方式")
    private String basType;

    @ExcelProperty("母联电流")
    private String parentCouplet;

    @ExcelProperty("母联时间")
    private String parentTime;

    @ExcelProperty("进线1电流")
    private String lineInOneCurrent;

    @ExcelProperty("进线1电压")
    private String lineInOneVlot;

    @ExcelProperty("进线1时间")
    private String lineInOneTime;

    @ExcelProperty("进线2电流")
    private String lineInTwoCurrent;

    @ExcelProperty("进线2电压")
    private String lineInTwoVlot;

    @ExcelProperty("进线2时间")
    private String lineInTwoTime;

    @ExcelIgnore
    private String basImage;
    @ExcelIgnore
    private String parentImage;
    @ExcelIgnore
    private String lineInOneImage;
    @ExcelIgnore
    private String lineInTwoImage;

    @ExcelIgnore
    private List<String> basImageList; // 存储所有关联图片的Base64字符串列表


    @ExcelProperty(value = "备自投装置图片")
    @ColumnWidth(50) // 设置图片列宽度
    
    private byte[] basImageData; // 图片字节数据


    @ExcelIgnore
    private List<String> parentImageList; // 存储所有关联图片的Base64字符串列表


    @ExcelProperty(value = "母联图片")
    @ColumnWidth(50) // 设置图片列宽度
    private byte[] parentImageData; // 图片字节数据


    @ExcelIgnore
    private List<String> lineInOneImageList; // 存储所有关联图片的Base64字符串列表


    @ExcelProperty(value = "进线1图片")
    @ColumnWidth(50) // 设置图片列宽度
    private byte[] lineInOneImageData; // 图片字节数据


    @ExcelIgnore
    private List<String> lineInTwoImageList; // 存储所有关联图片的Base64字符串列表


    @ExcelProperty(value = "进线2图片")
    @ColumnWidth(50) // 设置图片列宽度
    private byte[] lineInTwoImageData; // 图片字节数据
}
